Virtual league platform of a sport activity

ABSTRACT

The present disclosure describes a platform that allows individual users to compete against other users in a virtual league. The platform allows individual users to maintain personal performance statistics, which, collectively, are used to determine a projection result of the user&#39;s performance in a competition within the league. The platform employs projection result, in combination with, or as a substitute for, results associated with a real race completed by the user, in the scoring of the user against other competitors in the league.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. application Ser.No. 15/916,191, filed on Mar. 8, 2018, which is a continuationapplication of U.S. application Ser. No. 14/585,071, filed Dec. 29,2014, which is a continuation-in-part application and claims priority toand the benefit of U.S. application Ser. No. 14/521,076, filed Oct. 22,2014, which is a continuation application of U.S. application Ser. No.14/466,350, filed Aug. 22, 2014, and claims the benefit of U.S.Provisional Application No. 62/012,877, filed Jun. 16, 2014. The contentof each of these applications is hereby incorporated by reference hereinin its entirety.

BACKGROUND

Individuals who participate in multiple-stage sporting activities, suchas triathlons, biathlons, and the like, may not reside in the particularlocation of a competition in which they wish to compete. Traditionally,individuals must train for a competition on local courses or physicallymove to the location of the upcoming competition in order to train forit. Usually, an individual has difficulty estimating, to a high degreeof accuracy, how well he or she will be able to perform on an unfamiliarcourse.

In addition, training for a competition for a new participant may spanseveral months. It is typically difficult for an individual to measurethe progress of his or her training with respect to other competitorsover such a period of time.

SUMMARY

The present disclosure addresses these difficulties by providing aplatform for individuals to maintain personal performance statistics,which, collectively, are used to determine and update difficulty ratingsfor various multiple-stage sport courses and/or activities. The platformenables a user to predict his or her performance on an unfamiliar coursebased on course ratings and the individual's historical performance onother courses.

Furthermore, in certain embodiments, the platform allows practitioners,as well as athletes, to compete on a virtual basis in a virtual leagueagainst other practitioners. The league is virtual in that training dataand/or predictions/projections of results are employed in combinationwith, or in substitution of, actual results of a real race completed bya given user, in the scoring of the user by the virtual league platformagainst other users in the league. The league provides milestones for apractitioner to evaluate and/or track the efficacy of his or hertraining with respect to other practitioners.

In addition, the virtual league promotes the socialization ofmultiple-stage sport and relay-race activities to further the goal ofmaking multiple-stage sports and/or activities more accessible to thegeneral public. The platform allows an amateur athlete or practitionerto compete in a league with other amateur athletes or practitionersbased on their past performance and future races scheduled in theleague. A series of handicaps is applied to the past performance of agiven user based on goals specific to a given league (e.g., bestperformance for the individual, best improvement, etc.). Thus, anyinterested practitioners can compete in a multiple-stage sportingactivity.

In addition, in certain embodiments, the races for each competitor in agiven league may be customized and/or tailored for each competitor. Apractitioner may beneficially compete against other practitioners in thesame league without being constrained to a particular event schedule orgeographic location. The platform can normalize results from races andtraining data of a practitioner to determine a score to which thepractitioner can be ranked against other practitioner in the sameleague. Alternatively, in other embodiments, the races in a given leagueis the same for all competitors. The competitors may elect a set ofraces from a pre-defined set of races.

To participate in a league, the user provides training results and/orrace performance results to the platform. The users of the platform canbe the practitioners themselves, or a person providing data to theplatform, such as a coach, an event official, or a league administrator.In some embodiments, training results are automatically submitted to theplatform by a computing device associated with a user following atraining session. Based on the past competitions and events results ofthe practitioner, the platform determines a score for such competitionsand events. Using such past performance results and/or training profileof the user, the platform determines a projection result for selectedcompetitions scheduled within league season of the practitioner. Withthe projection, a virtual score is determined for such leaguecompetitions. Scores from actual races or from projections areselectable by the practitioners, and the selected scores are combined todetermine a ranking for the practitioner in the league. A series ofhandicaps is applied by the platform to the submitted results to allowdifferent categories of winners and/or recognitions to be determined fora given league.

In certain embodiments, the platform provides a prediction ofperformance for a given course based on the present and/or historicaltraining information. The platform may determine and update ratings foreach leg of a given course and/or activity, allowing a user to predicthis or her performance on each leg of the course and/or activity.Because an individual's performance level often varies for each of themultiple legs of a given competition (e.g., the swimming, cycling, andrunning legs of a triathlon), the platform enables a user to betterchoose a particular course and/or length (e.g., Ironman, Half Ironman,Olympic distance, and Sprint distance) to suit his or her strengths, orto challenge his or her weaknesses.

Thus, the platform enables an individual to predict his or herperformance on an unfamiliar course based upon up-to-date course ratingsand the individual's historic performance information on other courses.The information provided by the platform also allows the individual tomore effectively train for an upcoming event on courses that are closerand more convenient to the individual. For example, course ratings allowa user to choose and train on courses that are similar in difficulty,leg-for-leg, to a course that will be used for an upcoming competition.The platform also enables a user to determine an individualizedperformance goal based on his or her historical performance information.

Moreover, the platform provides an updated ranking of athletes based oncollective historical performance data gathered from users of theplatform. The platform determines a rating—e.g., a par completion timeor other performance standard(s)—for each leg of a given course (e.g.,analogous to “par” for a given hole at a given course). Ratings may befurther determined as a function of a given class of athlete—e.g., agiven age category, gender, and/or elite or non-elite status. Thus, anindividual is able to challenge himself or herself to beat theperformance standard applicable to that individual based on one or morecategories, for a given course at a given point in time (e.g., based oncurrent course conditions).

In certain embodiments, the platform also allows for compensation ofenvironmental conditions on the ratings for a given course. For example,upon entry by a user of performance data for a particular competition,course, and/or time, the platform may access weather information forthat location and time and compensate for this information in themaintenance and/or determination of course and/or leg ratings.

Because course conditions may change over time, and because performancestandards may change given improving performance of top athletes, themulti-user platform offers a way to account for those changes inreal-time (or near real-time), for example, by providing updated courseratings. Furthermore, as an individual user enters more data as he orshe performs more courses, the platform offers a way to trackperformance over time, such that improvement can be seen and quantified,even as the individual performs on different courses.

In one aspect, the present disclosure describes a method includingreceiving, over a network from a user of a remote computing device, acourse performance submission. The course performance submission for oneor all of the stages of a multiple-stage sport activity includescompletion time information, a user identifier, a course identifier, andcontextual identifiers. The contextual identifiers include at least oneof a stage identifier identifying the one or more stages of themultiple-stage sport activity associated with the course performancesubmission, a competition identifier identifying a competitionassociated with the course performance submission, an ability levelidentifier identifying a user ability level associated with the courseperformance submission, and a distance rating identifier identifying adistance rating associated with the course performance submission. Themethod further includes accessing, by a processor of a computing device,one or more additional course performance submissions from multipleusers, where the additional course performance submissions share thecourse identifier and at least one of the contextual identifiers. Themethod further includes determining, by the processor, based upon aportion of the course performance submissions received from the multipleusers, an overall performance rating specific to each of the stages ofthe multiple-stage sport activity. The method further includesproviding, based upon at least one of the contextual identifiers and theoverall performance rating, an individualized performance goal for atleast one stage of the multiple-stage sport activity.

In another embodiment, the multiple-stage sport activity is a triathlon.In another embodiment, the one or more stages of the multiple-stagesport activity comprise running, swimming, and bicycling. In anotherembodiment, the course identifier is determined based upon GPS locationdata. In another embodiment, the individualized performance goal isdetermined by adjusting the overall performance rating based upon theuser ability level. In another embodiment, the overall performancerating is based on the subset of course performance submissions sharinga competition identifier. In another embodiment, the method furtherincludes determining, based upon one or more course performancesubmissions sharing a user identifier and a distance rating, the userability level associated with the user. In another embodiment, the userability level comprises a stage ability level for each stage of themultiple-stage sport activity. In another embodiment, the user abilitylevel comprises a stage ability level for each of running, swimming, andbicycling.

In another aspect, the present disclosure describes a system including,a processor and a memory. The memory has instructions that cause theprocessor to receive, over a network from a user of a remote computingdevice, a course performance submission. The course performancesubmission for one or all of the stages of a multiple-stage sportactivity includes completion time information, a user identifier, acourse identifier, and contextual identifiers. The contextualidentifiers include at least one of a stage identifier identifying theone or more stages of the multiple-stage sport activity associated withthe course performance submission, a competition identifier identifyinga competition associated with the course performance submission, anability level identifier identifying a user ability level associatedwith the course performance submission, and a distance rating identifieridentifying a distance rating associated with the course performancesubmission. The instructions further cause the processor to access oneor more additional course performance submissions from multiple users,where the additional course performance submissions share the courseidentifier and at least one of the contextual identifiers. Theinstructions further cause the processor to determine, based upon aportion of the course performance submissions received from the multipleusers, an overall performance rating specific to each of the stages ofthe multiple-stage sport activity. The instructions further cause theprocessor to provide, based upon at least one of the contextualidentifiers and the overall performance rating, an individualizedperformance goal for at least one stage of the multiple-stage sportactivity.

In another aspect, the present disclosure describes a method foroperating a platform to provide a virtual sport league for amultiple-stage sport activity (e.g., a triathlon virtual league). Themethod includes receiving, by a processor of a first computing device(e.g., server), over a network from one or more second computing devicesassociated with a user (e.g., a competitor, a coach of a competitor, ora league administrator), a first performance submission of a firstcompetitor. The first performance submission includes, at least one of:a first course performance submission for a first multiple-stage sportactivity participated by the first competitor (e.g., a past race) and afirst training performance submission associated with a performanceprofile of the first competitor in which the profile corresponds to asport activity type associated with a stage of the multiple-stage sportactivity.

The method further includes accessing, by the processor of the firstcomputing device, competition data for one or more first scheduledmultiple-stage sport activities associated with the first competitor.The first scheduled multiple-stage sport activities define a part of aseason within a virtual league for the first competitor.

The method further includes determining, by the processor of the firstcomputing device, a ranking (e.g., first, second, third, last, etc.) ofthe first competitor among the plurality of competitors collectivelyforming the virtual league associated with the first competitor. Theranking is based at least in part upon an overall performance score ofthe first competitor with respect to overall performance scorescorresponding to the plurality of competitors. The overall performancescore of the first competitor is determined based in part upon anindividual performance score specific to a given scheduledmultiple-stage sport activity of the one or more first scheduledmultiple-stage sport activities. The individual performance score isdetermined based on either i) a course performance submission of thefirst competitor for the given scheduled multiple-stage sport activityor ii) a projection of a performance result of the first competitor forthe given scheduled multiple-stage sport activity.

The method further includes causing, by the processor of the firstcomputing device, the ranking of the first competitor to be graphicallydisplayed on the one or more second computing devices.

In some embodiments, the projection of the performance result of thefirst competitor for the given scheduled multiple-stage sport activityis determined by accessing, by the processor of the first computingdevice, second performance data of a plurality of second competitors. Asubset of the second performance data of the second competitors shares acommon course attribute with the first performance submission of thefirst competitor (e.g., same distance rating for at least one stage ofthe multiple-stage sport activity, same difficult rating for at leastone stage of the multiple-stage sport activity). The step of determiningthe projection may further include determining, by the processor of thefirst computing device, based upon the first performance submission anda subset of the second performance data, a performance rating for thefirst competitor. The performance rating may be employed to determinethe projection of the performance result of the first competitor withrespect to a course rating associated with the given scheduledmultiple-stage sport activity and may include ratings specific to eachstage (or at least one stage) of the multiple-stage sport activity.

In some embodiments, the common course attribute includes a same courseidentifier of the multiple-stage sport activity. In some embodiments,the common course attribute includes a same distance rating for at leastone stage of the multiple-stage sport activity. In some embodiments, thecommon course attribute includes a same difficult rating for at leastone stage of the multiple-stage sport activity.

In some embodiments, the multiple-stage sport activity is a triathlon.In some embodiments, the multiple-stage sport activity includesbiathlon, decathlon, heptathlon, modern pentathlon, octathlon,pentathlon, quadrathlon, tetrathlon, icosathlon, and aquathlon. In someembodiments, the stages of the multiple-stage sport activity includerunning, swimming, and bicycling.

In some embodiments, the method further includes causing, by theprocessor of the first computing device, a graphical representation of afirst individual performance score and a second individual performancescore to be graphically displayed on the one or more second computingdevices. The first individual performance score may be based upon thecourse performance submission of the first competitor for the givenscheduled multiple-stage sport activity. The second individualperformance score may be based upon the projection of the performanceresult of the first competitor for the given scheduled multiple-stagesport activity. The method may further include receiving, from the oneor more second computing devices, a selection between the firstindividual performance score and the second individual performancescore. In some embodiments, the selection of the second individualperformance score results in a penalty being assigned within the virtualleague to the first competitor.

In some embodiments, the method further includes adjusting theindividual performance score of the first competitor for the givenmultiple-stage sport activity, based upon a scoring compensation rateassociated with the first competitor. In some embodiments, the scoringcompensation rate includes a demographic attribute and/or categoryattribute of the first competitor. In some embodiments, the scoringcompensation rate includes a performance result of the first competitorin one or more multiple-stage sport activities participated by the firstcompetitor. In some embodiments, the scoring compensation rate includesa relative performance of the first competitor to other competitors inone or more multiple-stage sport activities participated by the firstcompetitor. In some embodiments, the scoring compensation rate includesa relative performance of the first competitor to a top athlete in thesame demographic and/or category attribute with the first competitor inone or more multiple-stage sport activities participated by the firstcompetitor. In some embodiments, the scoring compensation rate includestraining conditions associated with the first competitor (e.g., anequipment setting or physiological profile, e.g., of O₂ and/or CO₂levels, of the competitor measured during training or an event).

In some embodiments, the method further includes adjusting theindividual performance score of the first competitor for the givenmultiple-stage sport activity based upon a scoring compensation rateassociated with the first competitor. The scoring compensation rate maybe based upon a purchasable score modifier. In some embodiments, thedegree of the adjustment is based upon how much money the user spendsfor the purchasable score modifier. In some embodiments, the methodfurther includes causing one or more purchasable score modifiers to begraphically presented on the one or more second computing devices. Thepurchasable score modifiers may include a one-time use accessory and asemi-permanent use accessory. The method may further include receiving aselected purchasable score modifier of the one or more purchasable scoremodifiers and causing an electronic payment transaction corresponding toa purchase of the selected purchasable score modifier to be processed.

In some embodiments, the competition data for first scheduledmultiple-stage sport activities include a future event date. In someembodiments, the competition data for first scheduled multiple-stagesport activities include a future event identification. In someembodiments, the competition data for first scheduled multiple-stagesport activities include a stage rating information associated with afuture event. In some embodiments, a given user account of eachcompetitor in the virtual league of the first competitor includes one ormore second scheduled multiple-stage sport activities. A subset of thesecond scheduled multiple-stage sport activities of the othercompetitors in the virtual league may be different from the firstscheduled multiple-stage sport activities of the first competitor.

In some embodiments, the first training performance submission includescompletion time information associated with a training session. In someembodiments, the first training performance submission includescompletion distance information of the training session. In someembodiments, the first training performance submission includescompletion rate information of the training session. In someembodiments, the first training performance submission includesdifficulty rating information associated with the training session. Insome embodiments, the first training performance submission includescompletion schedule information of a pre-defined set of trainingsessions.

In some embodiments, the first course performance submission includescompletion time information for one or more stages of the multiple-stagesport activity for the first competitor, a competitor identifieridentifying the first competitor, and a course identifier of themultiple-stage sport activity participated by the first competitor. Thecourse identifier may be a name or a course characteristic in which acourse identity can be ascertained. The course identifier may bedetermined based upon one or more members of the group consisting of:GPS location data, wireless broadcasting data, and digital location datathrough mobile data.

In another aspect, the present disclosure describes a system to providea virtual sport league for a multiple-stage sport activity (e.g., atriathlon virtual league). The system include a processor and a memoryhaving instructions stored thereon. The instructions, when executed bythe processor, cause the processor to receive, over a network from oneor more second computing devices associated with a user (e.g., acompetitor, a coach of a competitor, or a league administrator), a firstperformance submission of a first competitor. The first performancesubmission includes, at least one of i) a first course performancesubmission for a first multiple-stage sport activity participated by thefirst competitor (e.g., a past race) and ii) a first trainingperformance submission associated with a performance profile of thefirst competitor in which the profile corresponds to a sport activitytype associated with a stage of the multiple-stage sport activity.

The instructions, when executed by the processor, further cause theprocessor to access competition data for one or more first scheduledmultiple-stage sport activities associated with the first competitor.The first scheduled multiple-stage sport activities define a part of aseason within a virtual league for the first competitor.

The instructions, when executed by the processor, further cause theprocessor to determine a ranking (e.g., first, second, third, last,etc.) of the first competitor among the competitors within the virtualleague of the first competitor. The ranking is based at least in partupon an overall performance score of the first competitor with respectto overall performance scores corresponding to the plurality ofcompetitors. The overall performance score of the first competitor isdetermined based in part upon an individual performance score specificto a given scheduled multiple-stage sport activity of the one or morefirst scheduled multiple-stage sport activities. The individualperformance score is determined based on either i) a course performancesubmission of the first competitor for the given scheduledmultiple-stage sport activity or ii) a projection of a performanceresult of the first competitor for the given scheduled multiple-stagesport activity.

The instructions, when executed by the processor, further cause theprocessor to cause the ranking of the first competitor to be graphicallydisplayed on the one or more second computing devices.

In some embodiments, the projection of the performance result isdetermined by accessing, by the processor of the first computing device,second performance data of a plurality of second competitors. A subsetof the second performance data of the second competitors may share acommon course attribute with the first performance submission of thefirst competitor (e.g., same distance rating for at least one stage ofthe multiple-stage sport activity, same difficult rating for at leastone stage of the multiple-stage sport activity). The step of determiningthe projection may further include determining, by the processor of thefirst computing device, based upon the first performance submission anda subset of the second performance data, a performance rating for thefirst competitor. The performance rating may be employed to determinethe projection of the performance result of the first competitor withrespect to a course rating associated with the given scheduledmultiple-stage sport activity.

In some embodiments, the common course attribute includes a same courseidentifier of the multiple-stage sport activity. In some embodiments,the common course attribute includes a same distance rating for at leastone stage of the multiple-stage sport activity. In some embodiments, thecommon course attribute includes same difficult rating for at least onestage of the multiple-stage sport activity.

In some embodiments, the multiple-stage sport activity is a triathlon.In some embodiments, the multiple-stage sport activity includesbiathlon, decathlon, heptathlon, modern pentathlon, octathlon,pentathlon, quadrathlon, tetrathlon, icosathlon, and aquathlon. In someembodiments, the stages of the multiple-stage sport activity includerunning, swimming, and bicycling.

In some embodiments, the instructions, when executed by the processor,further cause the processor to cause a graphical representation of afirst individual performance score and a second individual performancescore to be graphically displayed on the one or more second computingdevices. The first individual performance score may be based upon thecourse performance submission of the first competitor for the givenscheduled multiple-stage sport activity. The second individualperformance score may be based upon the projection of the performanceresult of the first competitor for the given scheduled multiple-stagesport activity. The instructions, when executed by the processor,further cause the processor to receive a selection between the firstindividual performance score and the second individual performancescore. In some embodiments, the selection of the second individualperformance score results in a penalty being assigned within the virtualleague to the first competitor.

In some embodiments, the instructions, when executed by the processor,further cause the processor to adjust the individual performance scoreof the first competitor for the given multiple-stage sport activity,based upon a scoring compensation rate associated with the firstcompetitor. In some embodiments, the scoring compensation rate includesa demographic attribute and/or category attribute of the firstcompetitor. In some embodiments, the scoring compensation rate includesa performance result of the first competitor in one or moremultiple-stage sport activities participated by the first competitor. Insome embodiments, the scoring compensation rate includes relativeperformance information of the first competitor to other competitors inone or more multiple-stage sport activities participated by the firstcompetitor. In some embodiments, the scoring compensation rate includesrelative performance information of the first competitor to a topathlete in the same demographic and/or category attribute with the firstcompetitor in one or more multiple-stage sport activities participatedby the first competitor. In some embodiments, the scoring compensationrate includes training conditions associated with the first competitor(e.g., an equipment setting or physiological profile, e.g., of O₂ and/orCO₂ levels, of the competitor measured during training or an event).

In some embodiments, the instructions, when executed by the processor,further cause the processor to adjust the individual performance scoreof the first competitor for the given multiple-stage sport activity,based upon a scoring compensation rate associated with the firstcompetitor. The scoring compensation rate may be based upon apurchasable score modifier. In some embodiments, the degree of theadjustment is based upon how much money the user spends for thepurchasable score modifier. In some embodiments, instructions, whenexecuted by the processor, further cause the processor to cause one ormore purchasable score modifiers to be graphically presented on the oneor more second computing devices. The purchasable score modifiers mayinclude a one-time use accessory and a semi-permanent use accessory. Theinstructions, when executed by the processor, may further cause theprocessor to receive a selected purchasable score modifier of thepresented purchasable score modifiers and to cause an electronic paymenttransaction corresponding to a purchase of the selected purchasablescore modifier to be processed.

In some embodiments, the competition data for first scheduledmultiple-stage sport activities include a future event date. In someembodiments, the competition data for first scheduled multiple-stagesport activities include a future event identification. In someembodiments, the competition data for first scheduled multiple-stagesport activities include a stage rating information associated with afuture event. In some embodiments, a given user account of eachcompetitor in the virtual league of the first competitor includes one ormore second scheduled multiple-stage sport activities. In someembodiments, a subset of the second scheduled multiple-stage sportactivities of the other competitors in the virtual league is differentfrom the first scheduled multiple-stage sport activities of the firstcompetitor.

In some embodiments, the first training performance submission includescompletion time information associated with a training session. In someembodiments, the first training performance submission includescompletion distance information of the training session. In someembodiments, the first training performance submission includescompletion rate information of the training session. In someembodiments, the first training performance submission includesdifficulty rating information associated with the training session. Insome embodiments, the first training performance submission includescompletion schedule information of a pre-defined set of trainingsessions.

In some embodiments, the first course performance submission includes:completion time information for one or more stages of the multiple-stagesport activity for the first competitor, a competitor identifieridentifying the first competitor, or a course identifier of themultiple-stage sport activity participated by the first competitor. Thecourse identifier may be determined based upon one or more members ofthe group consisting of: GPS location data, wireless broadcasting data,and digital location data through mobile data.

In another aspect, the present disclosure describes a method foroperating a platform to provide a virtual sport league for a sportactivity (e.g., a marathon virtual league). The method includesreceiving, by a processor of a first computing device (e.g., server),over a network from one or more second computing devices associated witha user (e.g., a competitor, a coach of a competitor, or a leagueadministrator), a first performance submission of a first competitor.The first performance submission includes, at least one of: a firstcourse performance submission for a first sport activity participated bythe first competitor (e.g., a past race) and a first trainingperformance submission associated with a performance profile of thefirst competitor in which the profile corresponds to a sport activitytype associated with the sport activity or a stage thereof.

The method further includes accessing, by the processor of the firstcomputing device, competition data for one or more first scheduled sportactivities associated with the first competitor. The first scheduledsport activities define a part of a season within a virtual league forthe first competitor.

The method further includes determining, by the processor of the firstcomputing device, a ranking (e.g., first, second, third, last, etc.) ofthe first competitor among the plurality of competitors collectivelyforming the virtual league associated with the first competitor. Theranking is based at least in part upon an overall performance score ofthe first competitor with respect to overall performance scorescorresponding to the plurality of competitors. The overall performancescore of the first competitor is determined based in part upon anindividual performance score specific to a given scheduled sportactivity of the one or more first scheduled sport activities. Theindividual performance score is determined based on either i) a courseperformance submission of the first competitor for the given scheduledsport activity or ii) a projection of a performance result of the firstcompetitor for the given scheduled sport activity.

The method further includes causing, by the processor of the firstcomputing device, the ranking of the first competitor to be graphicallydisplayed on the one or more second computing devices.

In some embodiments, the projection of the performance result of thefirst competitor for the given scheduled sport activity is determined byaccessing, by the processor of the first computing device, secondperformance data of a plurality of second competitors. A subset of thesecond performance data of the second competitors shares a common courseattribute with the first performance submission of the first competitor(e.g., same distance rating for the sport activity, same difficultrating for the sport activity, etc.). The step of determining theprojection may further include determining, by the processor of thefirst computing device, based upon the first performance submission anda subset of the second performance data, a performance rating for thefirst competitor. The performance rating may be employed to determinethe projection of the performance result of the first competitor withrespect to a course rating associated with the given scheduled sportactivity.

In some embodiments, the common course attribute includes a same courseidentifier of the sport activity. In some embodiments, the common courseattribute includes a same distance rating for the sport activity. Insome embodiments, the common course attribute includes a same difficultrating for the sport activity.

In some embodiments, the sport activity includes marathon, swimathon,cyclothon, biathlon, triathlon, decathlon, heptathlon, modernpentathlon, octathlon, pentathlon, quadrathlon, tetrathlon, icosathlon,and aquathlon.

In some embodiments, the method further includes causing, by theprocessor of the first computing device, a graphical representation of afirst individual performance score and a second individual performancescore to be graphically displayed on the one or more second computingdevices. The first individual performance score may be based upon thecourse performance submission of the first competitor for the givenscheduled sport activity. The second individual performance score may bebased upon the projection of the performance result of the firstcompetitor for the given scheduled sport activity. The method mayfurther include receiving, from the one or more second computingdevices, a selection between the first individual performance score andthe second individual performance score. In some embodiments, theselection of the second individual performance score results in apenalty being assigned within the virtual league to the firstcompetitor.

In some embodiments, the method further includes adjusting theindividual performance score of the first competitor for the given sportactivity, based upon a scoring compensation rate associated with thefirst competitor. In some embodiments, the scoring compensation rateincludes a demographic attribute and/or category attribute of the firstcompetitor. In some embodiments, the scoring compensation rate includesa performance result of the first competitor in one or more sportactivities participated by the first competitor. In some embodiments,the scoring compensation rate includes relative performance informationof the first competitor to other competitors in one or more sportactivities participated by the first competitor. In some embodiments,the scoring compensation rate includes relative performance informationof the first competitor to a top athlete in the same demographic and/orcategory attribute with the first competitor in one or more sportactivities participated by the first competitor. In some embodiments,the scoring compensation rate includes training conditions associatedwith the first competitor (e.g., an equipment setting or physiologicalprofile, e.g., of O₂ and/or CO₂ levels, of the competitor measuredduring training or an event).

In some embodiments, the method further includes adjusting theindividual performance score of the first competitor for the given sportactivity based upon a scoring compensation rate associated with thefirst competitor. The scoring compensation rate may be based upon apurchasable score modifier. In some embodiments, the degree of theadjustment is based upon how much money the user spends for thepurchasable score modifier. In some embodiments, the method furtherincludes causing one or more purchasable score modifiers to begraphically presented on the one or more second computing devices. Thepurchasable score modifiers may include a one-time use accessory and asemi-permanent use accessory. The method may further include receiving aselected purchasable score modifier of the one or more purchasable scoremodifiers and causing an electronic payment transaction corresponding toa purchase of the selected purchasable score modifier to be processed.

In some embodiments, the competition data for first scheduled sportactivities include a future event date. In some embodiments, thecompetition data for first scheduled sport activities include a futureevent identification. In some embodiments, the competition data forfirst scheduled sport activities include a stage rating informationassociated with a future event. In some embodiments, a given useraccount of each competitor in the virtual league of the first competitorincludes one or more second scheduled sport activities. A subset of thesecond scheduled sport activities of the other competitors in thevirtual league may be different from the first scheduled sportactivities of the first competitor.

In some embodiments, the first training performance submission includescompletion time information associated with a training session. In someembodiments, the first training performance submission includescompletion distance information of the training session. In someembodiments, the first training performance submission includescompletion rate information of the training session. In someembodiments, the first training performance submission includesdifficulty rating information associated with the training session. Insome embodiments, the first training performance submission includescompletion schedule information of a pre-defined set of trainingsessions.

In some embodiments, the first course performance submission includescompletion time information for the sport activity for the firstcompetitor, a competitor identifier identifying the first competitor,and a course identifier of the sport activity participated by the firstcompetitor. The course identifier may be a name or a coursecharacteristic in which a course identity can be ascertained. The courseidentifier may be determined based upon one or more members of the groupconsisting of: GPS location data, wireless broadcasting data, anddigital location data through mobile data.

BRIEF DESCRIPTION OF THE FIGURES

The foregoing and other objects, aspects, features, and advantages ofthe present disclosure will become more apparent and better understoodby referring to the following description taken in conjunction with theaccompanying drawings, in which:

FIG. 1 is a diagram of a system for determining an individualizedperformance goal for a multiple-stage sport activity, according to anillustrative embodiment of the invention.

FIG. 2 is a block diagram illustrating a method of providing anindividualized performance goal for a multiple-stage sport activity,according to an illustrative embodiment of the invention.

FIG. 3 is a block diagram illustrating a method of operating a platformto provide a virtual sport league for a multiple-stage sport activity,according to an illustrative embodiment of the invention.

FIG. 4 is a block diagram of an example network environment, accordingto an illustrative embodiment.

FIG. 5 is a block diagram of an example computing device and an examplemobile computing device, for use in illustrative embodiments of theinvention.

The features and advantages of the present disclosure will become moreapparent from the detailed description set forth below when taken inconjunction with the drawings, in which like reference charactersidentify corresponding elements throughout. In the drawings, likereference numbers generally indicate identical, functionally similar,and/or structurally similar elements.

DETAILED DESCRIPTION

The present disclosure presents a system, method, and computer-programproduct directed toward the determination and maintenance of performanceratings for particular courses and/or stages of a multiple-stage sportactivity, as well as the determination of individualized goals based onthose ratings and individual historical performance data. In someimplementations, multiple-stage sport activities may include, but arenot limited to, triathlons, duathlons, off-road triathlons andduathlons, aquathlons, biathles, aquabikes, quadrathlons, decathlons,rowathlons, winter triathlons, and quadrathlons. Examples of stagesrepresented in multiple-stage sport activities include swimming,bicycling, running, skiing, and shooting.

The system of the present disclosure allows users to contribute to anoverall performance rating that reflects, based upon historicalperformance data for a plurality of users, a par completion time forindividual stages of the multiple-stage sport activity and for the totalcompletion time of the multiple-stage sport activity. Based upon auser's own historical performance data and other contextual factors, theplatform calculates a ‘handicap’ and/or an individualized performancegoal for the user, according to the user's ability level and/or otherfactors.

FIG. 1 is a diagram of a system for determining and/or maintaining anindividualized performance goal for a multiple-stage sport activity,according to an illustrative embodiment of the invention. The mobileenvironment 100 provides multiple users with the infrastructure tocalculate an individualized performance goal. A mobile device 102 is incommunication with the application server 106 via the network 110. Theapplication server 110 includes a processor and a memory, and isconfigured to access a storage volume 112 to store course performancedata submissions submitted by the user via his or her mobile device 102and other users via their mobile devices 108 a, 108 b, and 108 c(collectively, the other mobile devices 108). The mobile device 102presents a mobile application 104, which is used, amongst other things,to create performance data submissions of the user.

The mobile device 102 may include a timer, which can be activated anddeactivated by the user for each of the various stages of themultiple-stage sport activity. For example, a user who is performing atriathlon will typically perform a swimming stage, a bicycling stage,and a running stage. The user interacts with the mobile application 104to initiate the swimming stage timer (using, for example, a large buttonlabeled “Start Triathlon Timer”). During the transition to the bicyclingstage, the user interacts with the mobile application 104 to cease theswimming stage timer and initiate a bicycling stage timer (using, forexample, the same large button, relabeled by the mobile application 104to “Start Bicycle Stage”). During the transition to the running stage,the user interacts with the mobile application 104 to cease the swimmingstage timer and initiate a running stage timer (using, for example, thesame large button, relabeled by the mobile application 104 to “StartRunning Stage”). After completion of the running stage, the userinteracts with the mobile application 104 to end the running timer andcomplete the triathlon (using, for example, the same large button,relabeled by the mobile application 104 to “Stop Triathlon Timer”). Themobile application 104 thus has the necessary data to determine thecompletion time for each of the stages of the triathlon, and further hasthe necessary data to determine the overall completion time for thetriathlon (i.e., by summing the completion times for each of the threestages.)

In some implementations, the user does not interact with the mobileapplication 104 during the multiple-stage sport activity; he or shesimply initiates the timer at the beginning of the activity, and ceasesthe timer after the completion of all stages of the activity in order todetermine an overall completion time. In further implementations, themobile device 102 is configured to transition the timer between stagesof the multiple-stage sport activity using alternative methods. Someexamples of alternative methods for interacting with the timer include,but are not limited to, voice activated commands, use of physicalbuttons on the mobile device, GPS checkpoints or local wirelesscheckpoints at the course transition locations, and separate devices(such as the Garmin Forerunner event computer or Samsung Galaxy Gearwatch computer) configured to interact with the mobile device 102 andmobile application 104 using a wired connection (e.g., a headphone jackconnection or USB connection) or a wireless connection (e.g., Wi-fi orBluetooth). In certain implementations, the mobile device 102 furtherincludes sensors such as an accelerometer and/or a gyroscopic sensor,and the mobile application 104 is configured to interpret the readingsof the sensors to detect when a particular activity is being performed.

In some implementations, certain stages of the multiple-stage sportactivity may be non-timed stages or stages including an additionalscoring element not entirely dependent on completion time (e.g., a riflemarksmanship stage.) The user is further enabled to input the additionalscoring information during or after the completion of the multiple-stagesport activity.

After completion of a multiple-stage sport activity, the courseperformance information is sent by the mobile application 104 to theapplication server 106. The application server 106 is configured tostore the performance data on the storage volume 112 so that it can beused to suggest an individualized performance goal for futuremultiple-stage sport activities and/or competitions. In someimplementations, the performance data is also stored on the mobiledevice 102.

FIG. 2 is a block diagram illustrating a method of providing anindividualized performance goal for a multiple-stage sport activity,according to an illustrative embodiment of the invention. Theapplication server 106 receives, over a network, a course performancesubmission from the user of a mobile device 102 [202]. The courseperformance submission includes a variety of data that can be used todetermine an overall performance rating and an individualizedperformance goal for the user. The course performance submissionincludes the completion time and any additional scoring associated witheach of the one or more stages of the multiple-stage sport activity thatthe user has completed.

In one implementation, the user completes an entire multiple-stage sportactivity (such as a triathlon), and the course performance submissionincludes completion time data for each of the stages (e.g., 120 minutesfor the swimming stage, 480 minutes for the bicycling stage, and 360minutes for the running stage) and the total completion time for themultiple-stage sport activity (e.g., 960 minutes total time for thetriathlon). In some implementations, the course performance submissionmay further include additional scoring data for certain stages of themultiple-stage sport activity that are non-timed stages or stages thatinclude an additional scoring element not entirely dependent on thecompletion time (e.g., 18 hits out of 24 attempts for a riflemarksmanship stage.)

The user may also choose not to complete the entire multiple-stage sportactivity, and the course performance submission will include only thecompletion time or scoring for the particular stages that the user hascompleted. For example, a user training for an Ironman Triathloncompetition may wish to specifically work on the bicycling stage inorder to improve his or her performance on that particular stage. Theuser is enabled to submit only the completion time for the bicyclingstage for use in the determination of an individualized performance goalfor the bicycling stage.

Each course performance submission includes a user identifier (alsoreferred to as a competitor identifier) linking the course performancesubmission to a unique user/competitor. The application server 106stores the course performance submission on storage volume 112, enablingthe application server 106 to access historical course performance datawhen determining the individualized performance goal for the uniqueuser.

Each course performance submission includes a course identifier linkingthe course performance submission to a particular course (such as theIronman Arizona triathlon course in Tempe, Ariz. and the IronmanMallorca triathlon course in Mallorca, Spain). The course identifier isused by the application server to determine an overall performancerating for the particular course, by analyzing a plurality of courseperformance submissions linked by the particular course identifier. Theresultant overall performance rating is used by the application serverto determine the individualized performance goal for a unique user onthe particular course. In some implementations, the course identifier istied to a location. In further implementations, the course identifier isdetermined using the GPS capabilities of the mobile device 102.

The course performance submission further includes at least onecontextual identifier, which is used by the application server todetermine an overall performance rating or individualized performancegoal. Examples of contextual identifiers include, but are not limitedto, a stage identifier identifying the one or more stages of themultiple-stage sport activity associated with the course performancesubmission (e.g., the swimming stage, the bicycle stage, the runningstage, or combinations thereof), a competition identifier identifying acompetition associated with the course performance submission (e.g., theIronman Mallorca competition in Mallorca, Spain or the Ironman 70.3Boulder competition in Boulder, Colo.), an ability level identifieridentifying a user ability level associated with the course performancesubmission (e.g., a high or low ability level relative to other users),and a distance rating identifier identifying a distance ratingassociated with the course performance submission (e.g., a full Ironmantriathlon, a half Ironman triathlon, or an Ironkids triathlon).

In certain implementations, the ability level identifier is determinedbased on a user's relative performance level compared to other users.For example, the application server 106 may analyze all of the courseperformance submissions corresponding to the Ironman Mallorca triathloncourse identifier to determine the average course completion time foreach of the one or more stages of the course. Users who perform thetriathlon in a time less than the average course completion time may becategorized as high performance ability level, and users who exceed theaverage course completion time may be categorized as low performanceability level. In some implementations, users are assigned an abilitylevel by the application server at a higher granularity, up to andincluding individual ranking of performance level (e.g., the 54thhighest ability level out of 2,500 unique users at the particularcourse). In further implementations, users are assigned an ability levelindependent of a particular course (e.g., an 80th percentile abilitylevel worldwide). In other implementations, an overall ability levelcoefficient is determined for each stage of the multiple-stage sportactivity. For example, for a triathlon, a three value coefficient may bedetermined representing performance ability on each stage of theactivity (e.g., a coefficient value of (0.8, 0.5, 0.7) corresponds tohow well the user performs on swimming, bicycling, and running,respectively).

After receiving a course performance submission, the application server106 accesses a plurality of additional performance submissions thatshare at least one contextual identifier [204]. For example, when a usersubmits a course performance submission corresponding to the bicyclestage of a triathlon, the application server is configured to analyzeonly those submissions from users who have also completed the bicyclestage of the triathlon. The applications server may consider thosesubmissions where the bicycle stage was completed exclusively, or mayfurther consider submissions where the bicycle stage was completed incombination with other stages.

In another example, when a user submits a course performance submissioncorresponding to a particular competition, the application server mayanalyze only those submissions by users who were also competing in theexact same competition, or those submissions by users who were competingin the same competition or a previous iteration of the competition. Suchan analysis is useful for determining an overall performance rating forwhen the plurality of users are competing “at their best” as opposed tothe more general data obtained when users are training for thecompetition.

In some implementations, users are enabled to configure whichidentifiers will be used for the analysis and determination of theoverall performance rating and individualized performance goal. Forexample, users may wish to determine an overall performance goal basedonly upon other users at an ability level within a threshold distancefrom their own ability level. In another example, a user may wish todetermine an individualized performance goal that is based only uponthose submissions where the user completed the bicycle stage of atriathlon exclusively.

After accessing the plurality of course performance submissionscorresponding to one or more contextual identifiers, the applicationserver determines an overall performance rating for each particularstage of the multiple-stage sport activity [206]. In someimplementations, the application server further limits its analysis to asubset of course performance submissions, such as a competitionidentifier. In certain implementations, the application server analyzesall submissions corresponding to a particular course identifier and oneor more contextual identifiers. In other implementations, theapplication server only considers a single submission per analysis foreach unique user (such as the best submission), or the average all ofthe submissions received from a unique user.

The overall performance rating indicates a course performance that, ingeneral, represents a successful course completion (similar to achievinga “par” score in Golf). In some implementations, the application servercalculates an average course completion time based upon the courseidentifier and one or more contextual identifiers, and uses the averageas the overall course rating. Thus, the course performance ratingcorresponds to the completion time of an average user. In otherimplementations, the course performance rating is calculated based upononly a subset of performance submissions. For example, the applicationserver may analyze only those submissions by users in the 75thpercentile of course completion times when determining the courseperformance rating. An overall performance rating is determined for eachof the stages of the multiple-stage sport activity and for the completemultiple-stage sport activity. In some implementations, a courseperformance rating is represented by a coefficient that indicates howdifficult a course is compared to other courses for each stage of theactivity (e.g., for a triathlon, a course performance rating coefficientof (0.8, 1.3, 0.9) indicates the relative difficult of the coursecompared to other triathlon courses for each of swimming, biking, andrunning, respectively). In certain implementations, the courseperformance rating is based upon the rate of progress during theperformance (e.g., a course performance rating corresponding to swimmingat 100 m/s).

The application server is further enabled to provide, based upon atleast one of the contextual identifiers, an individualized performancegoal for one or more stages of the multiple-stage sport activity [208].Users vary in their relative ability level, and an overall performancerating which is ideal for a particular user may be too easy or too hardto achieve for another user. The individualized performance goal takesinto account at least one historical data point for the unique user andthe overall performance rating. Based on the user's ability level, theindividualized performance goal presents a goal that should beachievable for the user but still instills satisfaction in the user whenit is achieved. In a preferred embodiment, the application serverdeducts (or adds) a time modification value to the overall performancerating of the course. For example, a high ability level user on a 960minute overall performance rating course may be given a 40 minutededuction, resulting in an individualized performance goal of 920minutes. If the user achieves or exceeds the goal, he or she mayconsider himself or herself to have successfully completed the course(similar to applying a golf handicap to an overall score after a roundof golf). In further implementations, the individualized performancegoal serves as a predictor of expected performance based on thehistorical data associated with a unique user and his or her priorperformance submissions. In certain implementations, the historical dataand corresponding contextual identifiers enable the application serverto offer a prediction of course performance on courses that the user hasnever previously completed.

In some implementations, the individualized performance goal and/oroverall performance rating may further utilize the distance identifierto enabled users to compare multiple-stage sport activities of the sametype (e.g., triathlon) which, though of different distances, can stillbe useful to predict performance and establish goals. For example, auser who performs a half Ironman course may be able to get a usefulprediction for his or her performance on a full Ironman course.

Virtual League

In certain implementations, the historical data, performance statistics,and performance predictions corresponding to multiple unique users areconsolidated into a sport activity virtual league. In certainembodiments, the sport activity includes two or more stages. In certainembodiments, a subset of the stages of the multiple-stage sport activityinclude sporting category event types of different types. In certainembodiments, the sport activity is a relay race or a marathon sport. Infurther implementations, the virtual league is administered on a virtualleague platform, such as a computer server. In one implementation, thevirtual league platform is the application server 106. In anotherimplementation, the virtual league platform includes web servers or oneor more servers that provide web services. The virtual league platformis enabled to calculate and provide results projections, ranking ofathletes, and an event calendar to members of the virtual league. Insome implementations, the event calendar corresponds to an eventschedule and/or calendar based at least in part upon the event scheduleof an administrative body that organizes, promotes, and/or licenses amultiple-stage sport activity (e.g., The World Triathlon Corporation ofTampa, Fla.). Users are enrolled in a virtual league with other users.In certain implementations, users join a virtual league that includesusers that they know or have competed with. In other implementations, auser may join a league with users who he or she is not familiar with.

In some embodiments, the platform assigns users to (or the user canrequest or register with) one or more groups or communities that arelinked with a related sport or multiple-sport club or organization. Insome embodiments, the association is based on social network connectionassociated with the user. For example, the platform can automaticallycreate communities/groups based on the “Friends” network of the user. Inother embodiments, each user elects and/or selects his or hergroup/community. In some embodiments, a user has to be nominated and/orinvited by another user into a given group or community. In someembodiments, the users can set up a group or community to which the usercan request other users to join or other users can request to join. Incertain embodiments, the user (for example, referred to as “BPeople”)has a profile within the platform. The profile can be linked to groupsor communities of sport and/or multiple-sport clubs or organizations.

Users can join particular virtual leagues associated with the sport ormultiple-stage sport activity they are interested in competing in. Afterperforming a threshold number of physical events, the user is assignedone or more handicaps by the virtual league platform reflective of theuser's performance in comparison, for example, with the other members ofthe virtual league. In certain embodiments, the threshold number is atleast one. The handicap can be determined based on any given factors,for example, but not limited to, an attribute of the user (e.g., theuser's demographics and/or category), a historic performance of the user(e.g., past standing and/or results), a relative performance of the userto other users, a relative performance of the user to the top athlete(s)in the demographic and/or category of the user, and training conditionsassociated with the user (e.g., the user's resistance coefficient or CO₂profile during training/racing), among others. In certain embodiments,the virtual league platform accesses performance data associated withthe user to assign a handicap, including performance coefficients and/orprojected results based on historical performance.

In some implementations, the virtual leagues is based on, for example,but not limited to, local, state, and/or international competition(e.g., Sprint Triathlon, the Olympics, the Half Ironman Triathlon, andthe Ironman Triathlon). In other implementations, the virtual leaguesmay also be based on marathons, swimathons, and cyclothons.

In certain embodiments, distance, difficulty, and rating for a givencourse can be varied from their normal/official rating andspecification. In certain embodiments, the courses are based on real orfictional places.

In certain embodiments, the user accesses the various functions andfeatures of the virtual league by using the mobile application 104,including but not limited to event schedule, outcome predictions (e.g.,rankings), and performance predictions (e.g., completion time). The useris further enabled to access historical performance rankings and ratingscorresponding to the events in the virtual league, including but notlimited to, the date and time of previous events, weather conditions ofprevious events, actual outcome of the events (e.g., raw rankings),handicapped outcomes of the events (e.g., league rankings), andperformance information for the league members that participated in theevent.

The user accesses the mobile application 104 to identify upcoming eventson the event schedule in which the user is expected to compete. A usermay identify upcoming events that the user will not be able to competein (e.g., due to scheduling conflicts, injury, difficulty, distance,etc.). The mobile application 104 displays to the user a performanceprediction calculated based on historical data associated with the user.In certain implementations, the historical data include performancecoefficients. The historical data are employed, in certain embodiments,to determine a projection result, which is compared to the projectionresults of other users in the league. In some embodiments, theprojection results is used to determine rankings of the competitors inthe league.

In some embodiments, the user may complete a physical competitionscheduled in the user's virtual league calendar. The result from thecompetition is a part of the submission to the platform and is used todetermine the ranking of the user within the league. In someembodiments, the user may choose to accept, in lieu of physicalcompetition, the performance prediction calculated by the virtual leagueplatform as a virtual event result. In certain implementations, theselection may be a passive selection (i.e., the virtual league platformwill use the virtual event result if there is no physical event resultsubmitted for a particular event). The virtual event result is used bythe virtual league platform to calculate the user's event performancefor the virtual league. For virtual league ranking purposes, the virtualevent result is counted as equivalent to a physical event result. Insome implementations, if the user performs worse than anticipated by thevirtual league performance predictions, the user may choose to submitthe virtual event results instead of the obtained physical eventresults. In further embodiments, official event results are collected bythe virtual league platform and need not be submitted by the users.

In some embodiments, the platform calculates a virtual score following ascheduled sport event. A virtual score for the user may be calculatedfor each event and then aggregated to determine an overall score for theuser. In certain embodiments, an individual score of a user is comparedagainst those of other users in the league following a given event, anda tiered score s assigned for that event. The scores (tiered ornon-tiered) are aggregated to determine the ranking of the users in theleague (e.g., on an on-going basis). In other embodiments, the scoresare aggregated and compared at the end of the season to determine theranking of the user.

In certain implementations, the platform updates the performance and/oroutcome prediction of a given user when new data is received from theuser. In some embodiments, once a user registers and/or signs in to theplatform, the platform prompts the user for historical race results andtraining data. In some embodiments, the platform presents the historicalraces and/or historical race results that the user can select. In someembodiments, the historical races and/or historical race results areretrieved from the race-results database. For example, when a user signsin with his or her USAT profile information (USA Triathlon profile), thedata from the official USAT profile is linked to the user's profile. Theplatform may present to the user the race results, including for examplethe names and registration numbers of the participants. In someembodiments, the platform presents potential names and results matchedto the user's identifier. The user can confirm or select the presentedname and/or results. In some embodiments, once the platform receivesdata from the user, the platform automatically starts the predictionanalysis of that user. As the user adds training schedule and futureraces, the platform re-calculates and/or updates the prediction analysisfor the users.

In other implementations, the platform periodically updates theperformance and/or outcome prediction of the given user. The updates maybe performed, for example, on an hourly, daily, or weekly basis.

In certain implementations, submitting a virtual-event result may incursome penalty, such as a virtual event result identifier or othernon-competition penalty (e.g., a time penalty), that encourages users tosubmit the results of physical events instead of using virtual eventresults in the league. In certain implementations, the non-competitionpenalty may increase in severity and/or magnitude as further virtualevent results are submitted. In further implementations, thenon-competition penalty may be a monetary penalty or virtual currencypenalty. In some implementations, each user controls a cache of virtualleague points (point cache). In one implementation, the non-competitionpenalty is a deduction of virtual league points from the users pointcache. The user may attain virtual league points by various methodsincluding but not limited to participating in certain events and/orpromotions and buying points from the administrator of the virtualleague platform.

When a user elects to submit a virtual event result, the user isprompted with a notification that a quantity of points will be deductedfrom the user's point cache. If the user controls the requisite amountof points, the user's virtual event result will be used for calculatingleague standings. In some implementations, a user may submit virtualresults for events he or she has not participated in without a pointdeduction, but will have points deducted if substituting a virtual eventresult for a physical event result. If the user does not control therequisite amount of points, the user will be prompted to add a number ofpoints to his or her point cache. The user will then be directed to aninterface where he or she can add the necessary amount of points by, forexample, purchasing the required amount of points, purchasing a block ofpoints (e.g., a 10 point block, a 100 point block, or a 1000 pointblock), or some other method of adding points to the point cache.

As users finalize their performances corresponding to a particularevent, the virtual league platform adjusts future performancepredictions based on changes in the performance data of the users. Atthe completion of the league schedule, ranking are calculated. In someimplementations, the administrator of the virtual league platformdistributes prizes to top performers in the league (e.g., best malecompetitor, best female competitor, best juvenile female competitor,best in a given demographic category, best in a given performance level,best in a given category of training conditions associated with thecompetitors, etc.) In further implementations, in the case of a draw forany prize, the virtual league platform offers a series of a virtualand/or physical events to decide on the final league rankings.

In certain implementations, event credits are required to participate inthe events of the virtual league. Users are required to compete in atleast one physical event on the league schedule each season (and, e.g.,provide submission of performance and/or ranking of the race). In someimplementations, after competing in a physical event, a user is awardedone or more event credits. Participating in events will require the userto spend one or more event credits. In further implementations, in lieuof participating in physical races, users may purchase event credits bydeducting points from their point caches or directly from the virtualleague platform administrator. In one implementation, users only earnevent credits by deducting points from their point caches or directlypurchasing event credits from the virtual league platform administrator.

In some implementations, users that desire to submit virtual raceresults can utilize virtual event credits in lieu of physicalcompetition or to replace the results of physical competition. In oneimplementation, if a user wishes to improve their standing in an event,they may spend virtual event credits to improve their performance. Theuser can exchange points from his or her point caches to select apredicted result rather than an actual result for a given scheduledevent. The platform may provide a time limit following the event to makesuch elections (e.g., within a set time period, before the nextscheduled event of the user, or before the next scheduled event of othercompetitors in the same league).

In another implementation, users may improve their performance in thevirtual league by acquiring virtual accessories (e.g., virtual clothing,virtual shoes, virtual refreshments, etc.). In some embodiments, userscan exchange points from their point caches for virtual accessories.Accessories may either be one-time use accessories (e.g., water bottles,snacks, sports drinks, etc.) or semi-permanent accessories (e.g.,running shoes, ski poles, improved clothing, etc.) that are retained formultiple events in the virtual league. In a further implementation, baseaccessories are included for each user in a virtual league. A user mayimprove the base accessories by exchanging points from the point cachefor accessory upgrades (e.g., water-wicking fabrics, alternative shoedesigns, etc.). In some embodiments, the user can receive semi-permanentaccessories and one-time-use accessories from sponsors (e.g., forparticipating and/or competing in a real or virtual event). In certainembodiments, the user can receive semi-permanent virtual accessories andone-time-use virtual accessories from a purchase of the non-virtualcounterpart of the given accessory.

FIG. 3 is a block diagram illustrating a method 300 of operating aplatform to provide a virtual sport league for a multiple-stage sportactivity, according to an illustrative embodiment of the invention. Themethod includes receiving, by a processor of an application server 106,over a network 110 from computing device 102 associated with the user, afirst performance submission [302]. The first performance submissionincludes, at least one of: a course performance submission and atraining performance submission. In certain embodiments, both types ofsubmissions are employed.

The course performance submission include performance results (e.g.,completion time or standing) in an actual race or event in which the usehas competed. The training performance submission includes trainingresults (e.g., completion time for a running, bicycling, or swimmingtraining session; difficulty rating associated with the trainingsession; duration of the training session, etc.). The performancesubmissions, in some embodiments, are aggregated to determine aperformance rating for the user for each type of sport activity in themultiple-stage sport activity. The performance rating may be representedas an ability level coefficient, as described in relation to FIG. 2.

The method 300 then includes accessing competition data for one or morefirst scheduled sport activities associated with the first competitor.The first scheduled sport activities define a part of a season within avirtual league for the first competitor. Put plainly, a given season ofthe virtual league for a given competitor includes a series ofcompetitions to which a competitor can earn scores within the league. Ascheduled multiple-stage sport activity may include an identifier for aleague competition, for example, a future event date or name, as well asdifficulty and/or an ability rating of the league competition. Thescheduled sport activity may include an event scheduled in the user'sevent calendar. The competition data may be stored in the storage volume112.

The league, in some embodiments, may be form of sport activity and/ormultiple-stage sport activity of different types. For example,competitions in the league may be formed of combinations of marathon,swimathon, cyclothon, biathlon, triathlon, decathlon, heptathlon, modernpentathlon, octathlon, pentathlon, quadrathlon, tetrathlon, icosathlon,and aquathlon.

The method 300 then includes determining a ranking (e.g., first, second,third, last, etc.) of the first competitor among the plurality ofcompetitors collectively forming the virtual league associated with thefirst competitor. The ranking is based at least in part upon an overallperformance score of the first competitor with respect to one or moreoverall performance scores corresponding to the plurality ofcompetitors. Individual scores for each competition within the eventcalendar of the user are calculated and aggregated to determine theoverall score.

In some embodiments, an individual score for a league competition isdetermined based on an event that the user has completed [308]. Inaddition, a virtual score is also determined for the league competitionin which the score is based on a projection determined from the user'sthe training profile and past race results [306]. The user can use theprojection to gauge the efficacy of his or her training and, in certaininstances, make adjustments the training regimen.

In some embodiments, the projection is determined based on performancedata of competitions sharing some commonality with the submission of theuser. The projection may be determined using the process described inrelation to FIG. 2. The data are associated with a pool of competitorsthat, for example, the user has competed against (e.g., in the samerace) or in a different race on the same course or similar course withsimilar difficulty ratings.

In some embodiments, the individual scores derived from a completion ofa league competition and from the projection are presented to the user[310]. The platform may receive a selection, from the user, among thepresented individual scores to use for the overall scoring. The scorederived from the actual competition may be set as the default score.Following a race, the platform may present the option of selecting theindividual score from the projection, if higher, to the user. The usermay be penalized for selecting the projection score over the real scoreor may have to pay for the election. In some embodiments, following aleague competition (or election of a scoring choice), the individualscore for the league competition is aggregated with user's overall scorein the league [312].

The overall score in the league, individual score for each competition,overall ranking in the league, and individual ranking from eachcompetition may be presented to the user [314]. The user can access therankings via the mobile application 104. The ranking information (i.e.,overall score, individual score, and/or standing in the virtual league)is updated, in some embodiments, when new data is received from theuser. In some embodiments, the information is updated on a periodicbasis. In some embodiments, the information is updated following ascheduled event in the user's race/event calendar and/or other user'srace/event calendar.

In brief overview, referring now to FIG. 4, a block diagram of anexemplary cloud computing environment 400 is shown and described. Thecloud computing environment 400 may include one or more resourceproviders 402 a, 402 b, 402 c (collectively, 402). Each resourceprovider 402 may include computing resources. In some implementations,computing resources may include any hardware and/or software used toprocess data. For example, computing resources may include hardwareand/or software capable of executing algorithms, computer programs,and/or computer applications. In some implementations, exemplarycomputing resources may include application servers and/or databaseswith storage and retrieval capabilities. Each resource provider 402 maybe connected to any other resource provider 402 in the cloud computingenvironment 400. In some implementations, the resource providers 402 maybe connected over a computer network 408. Each resource provider 402 maybe connected to one or more computing device 404 a, 404 b, 404 c(collectively, 404), over the computer network 408.

The cloud computing environment 400 may include a resource manager 406.The resource manager 406 may be connected to the resource providers 402and the computing devices 404 over the computer network 408. In someimplementations, the resource manager 406 may facilitate the provisionof computing resources by one or more resource providers 402 to one ormore computing devices 404. The resource manager 406 may receive arequest for a computing resource from a particular computing device 404.The resource manager 406 may identify one or more resource providers 402capable of providing the computing resource requested by the computingdevice 404. The resource manager 406 may select a resource provider 402to provide the computing resource. The resource manager 406 mayfacilitate a connection between the resource provider 402 and aparticular computing device 404. In some implementations, the resourcemanager 406 may establish a connection between a particular resourceprovider 402 and a particular computing device 404. In someimplementations, the resource manager 406 may redirect a particularcomputing device 404 to a particular resource provider 402 with therequested computing resource.

FIG. 5 shows an example of a computing device 500 and a mobile computingdevice 550 that can be used in the methods and systems described in thisdisclosure. The computing device 500 is intended to represent variousforms of digital computers, such as laptops, desktops, workstations,personal digital assistants, servers, blade servers, mainframes, andother appropriate computers. The mobile computing device 550 is intendedto represent various forms of mobile devices, such as personal digitalassistants, cellular telephones, smart-phones, and other similarcomputing devices. The components shown here, their connections andrelationships, and their functions, are meant to be examples only, andare not meant to be limiting.

The computing device 500 includes a processor 502, a memory 504, astorage device 506, a high-speed interface 508 connecting to the memory504 and multiple high-speed expansion ports 510, and a low-speedinterface 512 connecting to a low-speed expansion port 514 and thestorage device 506. Each of the processor 502, the memory 504, thestorage device 506, the high-speed interface 508, the high-speedexpansion ports 510, and the low-speed interface 512, are interconnectedusing various busses, and may be mounted on a common motherboard or inother manners as appropriate. The processor 502 can process instructionsfor execution within the computing device 500, including instructionsstored in the memory 504 or on the storage device 506 to displaygraphical information for a GUI on an external input/output device, suchas a display 516 coupled to the high-speed interface 508. In otherimplementations, multiple processors and/or multiple buses may be used,as appropriate, along with multiple memories and types of memory. Also,multiple computing devices may be connected, with each device providingportions of the necessary operations (e.g., as a server bank, a group ofblade servers, or a multi-processor system).

The memory 504 stores information within the computing device 500. Insome implementations, the memory 504 is a volatile memory unit or units.In some implementations, the memory 504 is a non-volatile memory unit orunits. The memory 504 may also be another form of computer-readablemedium, such as a magnetic or optical disk.

The storage device 506 is capable of providing mass storage for thecomputing device 500. In some implementations, the storage device 506may be or contain a computer-readable medium, such as a floppy diskdevice, a hard disk device, an optical disk device, or a tape device, aflash memory or other similar solid state memory device, or an array ofdevices, including devices in a storage area network or otherconfigurations. Instructions can be stored in an information carrier.The instructions, when executed by one or more processing devices (forexample, processor 502), perform one or more methods, such as thosedescribed above. The instructions can also be stored by one or morestorage devices such as computer- or machine-readable mediums (forexample, the memory 504, the storage device 506, or memory on theprocessor 502).

The high-speed interface 508 manages bandwidth-intensive operations forthe computing device 500, while the low-speed interface 512 manageslower bandwidth-intensive operations. Such allocation of functions is anexample only. In some implementations, the high-speed interface 508 iscoupled to the memory 504, the display 516 (e.g., through a graphicsprocessor or accelerator), and to the high-speed expansion ports 510,which may accept various expansion cards (not shown). In theimplementation, the low-speed interface 512 is coupled to the storagedevice 506 and the low-speed expansion port 514. The low-speed expansionport 514, which may include various communication ports (e.g., USB,Bluetooth®, Ethernet, wireless Ethernet) may be coupled to one or moreinput/output devices, such as a keyboard, a pointing device, a scanner,or a networking device such as a switch or router, e.g., through anetwork adapter.

The computing device 500 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as astandard server 520, or multiple times in a group of such servers. Inaddition, it may be implemented in a personal computer such as a laptopcomputer 522. It may also be implemented as part of a rack server system524. Alternatively, components from the computing device 500 may becombined with other components in a mobile device (not shown), such as amobile computing device 550. Each of such devices may contain one ormore of the computing device 500 and the mobile computing device 550,and an entire system may be made up of multiple computing devicescommunicating with each other.

The mobile computing device 550 includes a processor 552, a memory 564,an input/output device such as a display 554, a communication interface566, and a transceiver 568, among other components. The mobile computingdevice 550 may also be provided with a storage device, such as amicro-drive or other device, to provide additional storage. Each of theprocessor 552, the memory 564, the display 554, the communicationinterface 566, and the transceiver 568, are interconnected using variousbuses, and several of the components may be mounted on a commonmotherboard or in other manners as appropriate.

The processor 552 can execute instructions within the mobile computingdevice 550, including instructions stored in the memory 564. Theprocessor 552 may be implemented as a chipset of chips that includeseparate and multiple analog and digital processors. The processor 552may provide, for example, for coordination of the other components ofthe mobile computing device 550, such as control of user interfaces,applications run by the mobile computing device 550, and wirelesscommunication by the mobile computing device 550.

The processor 552 may communicate with a user through a controlinterface 558 and a display interface 556 coupled to the display 554.The display 554 may be, for example, a TFT (Thin-Film-Transistor LiquidCrystal Display) display or an OLED (Organic Light Emitting Diode)display, or other appropriate display technology. The display interface556 may comprise appropriate circuitry for driving the display 554 topresent graphical and other information to a user. The control interface558 may receive commands from a user and convert them for submission tothe processor 552. In addition, an external interface 562 may providecommunication with the processor 552, so as to enable near areacommunication of the mobile computing device 550 with other devices. Theexternal interface 562 may provide, for example, for wired communicationin some implementations, or for wireless communication in otherimplementations, and multiple interfaces may also be used.

The memory 564 stores information within the mobile computing device550. The memory 564 can be implemented as one or more of acomputer-readable medium or media, a volatile memory unit or units, or anon-volatile memory unit or units. An expansion memory 574 may also beprovided and connected to the mobile computing device 550 through anexpansion interface 572, which may include, for example, a SIMM (SingleIn Line Memory Module) or DIMM (Dual In Line Memory Module) cardinterface. The expansion memory 574 may provide extra storage space forthe mobile computing device 550, or may also store applications or otherinformation for the mobile computing device 550. Specifically, theexpansion memory 574 may include instructions to carry out or supplementthe processes described above, and may include secure information also.Thus, for example, the expansion memory 574 may be provided as asecurity module for the mobile computing device 550, and may beprogrammed with instructions that permit secure use of the mobilecomputing device 550. In addition, secure applications may be providedvia the SIMM/DIMMcards, along with additional information, such asplacing identifying information on the SIMM/DIMM card in a non-hackablemanner.

The memory may include, for example, flash memory and/or NVRAM memory(non-volatile random access memory), as discussed below. In someimplementations, instructions are stored in an information carrier and,when executed by one or more processing devices (for example, processor552), perform one or more methods, such as those described above. Theinstructions can also be stored by one or more storage devices, such asone or more computer- or machine-readable mediums (for example, thememory 564, the expansion memory 574, or memory on the processor 552).In some implementations, the instructions can be received in apropagated signal, for example, over the transceiver 568 or the externalinterface 562.

The mobile computing device 550 may communicate wirelessly through thecommunication interface 566, which may include digital signal processingcircuitry where necessary. The communication interface 566 may providefor communications under various modes or protocols, such as GSM voicecalls (Global System for Mobile communications), SMS (Short MessageService), EMS (Enhanced Messaging Service), or MMS messaging (MultimediaMessaging Service), CDMA (code division multiple access), TDMA (timedivision multiple access), PDC (Personal Digital Cellular), WCDMA(Wideband Code Division Multiple Access), CDMA2000, or GPRS (GeneralPacket Radio Service), among others. Such communication may occur, forexample, through the transceiver 568 using a radio-frequency. Inaddition, short-range communication may occur, such as using aBluetooth®, Wi-Fi™, or other such transceiver (not shown). In addition,a GPS (Global Positioning System) receiver module 570 may provideadditional navigation- and location-related wireless data to the mobilecomputing device 550, which may be used as appropriate by applicationsrunning on the mobile computing device 550.

The mobile computing device 550 may also communicate audibly using anaudio codec 560, which may receive spoken information from a user andconvert it to usable digital information. The audio codec 560 maylikewise generate audible sound for a user, such as through a speaker,e.g., in a handset of the mobile computing device 550. Such sound mayinclude sound from voice telephone calls, may include recorded sound(e.g., voice messages, music files, etc.) and may also include soundgenerated by applications operating on the mobile computing device 550.

The mobile computing device 550 may be implemented in a number ofdifferent forms, as shown in the figure. For example, it may beimplemented as a cellular telephone 580. It may also be implemented aspart of a smart-phone 582, personal digital assistant, or other similarmobile device.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include implementation in one or morecomputer programs that are executable and/or interpretable on aprogrammable system including at least one programmable processor, whichmay be special or general purpose, coupled to receive data andinstructions from, and to transmit data and instructions to, a storagesystem, at least one input device, and at least one output device.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms machine-readable medium andcomputer-readable medium refer to any computer program product,apparatus and/or device (e.g., magnetic discs, optical disks, memory,Programmable Logic Devices (PLDs)) used to provide machine instructionsand/or data to a programmable processor, including a machine-readablemedium that receives machine instructions as a machine-readable signal.The term machine-readable signal refers to any signal used to providemachine instructions and/or data to a programmable processor.

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor)for displaying information to the user and a keyboard and a pointingdevice (e.g., a mouse or a trackball) by which the user can provideinput to the computer. Other kinds of devices can be used to provide forinteraction with a user as well; for example, feedback provided to theuser can be any form of sensory feedback (e.g., visual feedback,auditory feedback, or tactile feedback); and input from the user can bereceived in any form, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in acomputing system that includes a back end component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a front end component (e.g., a client computerhaving a graphical user interface or a Web browser through which a usercan interact with an implementation of the systems and techniquesdescribed here), or any combination of such back end, middleware, orfront end components. The components of the system can be interconnectedby any form or medium of digital data communication (e.g., acommunication network). Examples of communication networks include alocal area network (LAN), a wide area network (WAN), and the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

While the invention has been particularly shown and described withreference to specific preferred embodiments, it should be understood bythose skilled in the art that various changes in form and detail may bemade therein without departing from the spirit and scope of theinvention as defined by the appended claims.

What is claimed is:
 1. A method for operating a platform to collectivelyrank performance of athletes in a sport activity in a virtual league,the method comprising the steps of: receiving, over a network by aprocessor of a computing device, a plurality of performance submissions,each comprising an event result associated with a user of a plurality ofusers, wherein at least a subset of the event result is electronicallycaptured by a mobile device associated with the user, as the userparticipates in the sport activity, and is transmitted from a mobiledevice to the computing device, wherein at least a portion of theplurality of performance submissions share a contextual identifiercommonly associated with one or more of a group consisting of: (i) aparticular sport activity, (ii) a particular competition, (iii) a userability level, (iv) a distance rating, and (v) a previously determinedrating associated with the particular competition, wherein the rating iscalculated, by the processor, from data extracted from a plurality ofpast performance submissions associated with at least one of (1) theparticular competition (2) a plurality of competitions other than theparticular competition; analyzing, by the processor, data extracted fromeach of the commonly associated performance submissions to identify oneor more performance ratings associated with each user of the pluralityof users; ranking, by the processor, the commonly associated performancesubmissions based at least in part on the performance ratings;receiving, over the network by the processor, from a first user of aremote computing device, a request for a ranking associated with aperformance submission associated with the first user; providing, overthe network by the processor, the ranking associated with theperformance submission associated with the first user to the remotecomputing device of the first user; and updating the previouslydetermined rating associated with the particular competition, whereinthe updated rating is calculated, by the processor, from data extractedfrom the plurality of performance submissions.
 2. The method of claim 1,wherein the step of analyzing comprises: evaluating, by the processor,each submission of the commonly associated performance submissionswithin the context of a collective historical performance data setcorresponding to the portion of the users associated with the commonlyassociated performance submissions, wherein the collective historicalperformance data set comprises the plurality of past performancesubmissions associated with at least one of (1) the particularcompetition and (2) the plurality of competitions other than theparticular competition.
 3. The method of claim 2, wherein the step ofanalyzing comprises: determining, by the processor, based at least inpart on the collective historical performance data set, a handicapassociated with the first user.
 4. The method of claim 3, wherein thestep of ranking is performed at least in part as a function of thehandicap associated with the first user.
 5. The method of claim 1,wherein the event result comprises a score or completion time.
 6. Themethod of claim 1, wherein the user ability level associated with aperformance submission identifies an ability level relative to otherusers.
 7. The method of claim 1, wherein the distance rating associatedwith a performance submission identifies a distance relative to othercourses and/or legs of courses.
 8. The method of claim 1, wherein theparticular sport activity comprises running, swimming, and bicycling. 9.The method of claim 1, wherein the step of ranking is performed at leastin part as a function of one or more of (i) to (iii): (i) an agecategory, (ii) a gender, and/or (iii) an elite and/or non-elite status.10. The method of claim 1, wherein the step of ranking is performed atleast in part as a function of one or more of (i) to (iii): (i)performance of top athletes on a course associated with the performancesubmission, (ii) weather conditions at the time of the performance,and/or (iii) course conditions at the time of the performance.
 11. Asystem comprising: a processor of a computing device; and a memorydevice having instructions stored thereon, wherein the instructions,when executed by the processor, cause the processor to: receive, over anetwork, a plurality of performance submissions, each comprising anevent result associated with a user of a plurality of users, wherein atleast a subset of the event result is electronically captured by amobile device associated with the user, as the user participates in thesport activity, and is transmitted from a mobile device to the computingdevice, wherein at least a portion of the plurality of performancesubmissions share a contextual identifier commonly associated with oneor more of a group consisting of: (i) a particular sport activity, (ii)a particular competition, (iii) a user ability level, (iv) a distancerating, and(v) a previously determined rating associated with theparticular competition, wherein the rating is calculated, by theprocessor, from data extracted from a plurality of past performancesubmissions associated with at least one of (1) the particularcompetition and (2) a plurality of competitions other than theparticular competition; analyze data extracted from each of the commonlyassociated performance submissions to identify one or more performanceratings associated with each user of the plurality of users; determine aranking for each of the commonly associated performance submissionsbased at least in part on the performance ratings; receive, from a firstuser of a remote computing device, a request for a ranking associatedwith a performance submission associated with the first user; provide,over the network, the ranking associated with the performance submissionassociated with the first user to the remote computing device of thefirst user; and update the previously determined rating associated withthe particular competition, wherein the updated rating is calculated, bythe processor, from data extracted from the plurality of performancesubmissions.
 12. The system of claim 11, wherein the instructions, whenexecuted, further cause the processor to: evaluate each performancesubmission of the commonly associated performance submissions within thecontext of a collective historical performance data set corresponding tothe portion of the users associated with the commonly associatedperformance submissions, wherein the collective historical performancedata set comprises the plurality of past performance submissionsassociated with at least one of (1) the particular competition and (2)the plurality of competitions other than the particular competition. 13.The system of claim 12, wherein the instructions, when executed, furthercause the processor to: determine, based at least in part on thecollective historical performance data set, a handicap associated withthe first user.
 14. The system of claim 13, wherein the rankingassociated with the performance submission associated with the firstuser is determined at least in part as a function of the handicapassociated with the first user.
 15. The system of claim 11, wherein theevent result comprises a score or completion time.
 16. The system ofclaim 11, wherein the user ability level associated with a performancesubmission identifies an ability level relative to other users.
 17. Thesystem of claim 11, wherein the distance rating associated with aperformance submission identifies a distance relative to other coursesand/or legs of courses.
 18. The system of claim 11, wherein theparticular sport activity comprises running, swimming, and bicycling.19. The system of claim 11, wherein each ranking is determined at leastin part as a function of one or more of the following: (i) an agecategory, (ii) a gender, and/or (iii) an elite and/or non-elite status.20. The system of claim 11, wherein each ranking is determined at leastin part as a function of one or more of the following: (i) performanceof top athletes on a course associated with the performance submission(ii) weather conditions at the time of the performance, and/or (iii)course conditions at the time of the performance.
 21. The system ofclaim 11, wherein the updated rating is calculated, by the processor,from data associated with a course performance rating.
 22. The method ofclaim 11, wherein the step of updating the previously determined ratingassociated with the particular competition occurs in real-time.